import unicodedata
import sys

# 审查清理文本字符串，比如去掉网站页面表单中输入的乱码
def demo_1():
    s = '\u00f1\u00f1\u00f1\u00f1'
    print(s)
    b = unicodedata.normalize('NFD', s)
    print(b)
    # 使用dict.fromkeys()方法构造一个字典，每个Unicode和音符作为键，对应的值全部为None
    cmb_chrs = dict.fromkeys(c for c in range(sys.maxunicode) if unicodedata.combining(chr(c)))
    # 使用translate将所有的重音符替换为None，使用新构造的字典，相当于去掉所有的重音符
    result_translate = b.translate(cmb_chrs)
    print(result_translate)

def demo_2():
    s = '\u00f1\u00f1\u00f1\u00f1'
    b = unicodedata.normalize('NFD', s)
    print(b)
    # 使用I/O解码与编码函数，来进行重音符过滤
    result = b.encode('ascii', 'ignore').decode('ascii')
    print(result)


if __name__ == '__main__':
    # demo_1()
    demo_2()